<?php

class Persona_Juridica_Model extends CI_Model {

    const STR_NOMBRE_TABLA = 'persona_juridica';

    /**
     * Constructor
     * @author Fernando Esteban Valerio
     */
    function __construct() {
        parent::__construct();
    }

    /**
     * Obtener los datos de una persona juridica.
     * @author Fernando Esteban Valerio
     * @param int $idPersona Id persona
     * @return array
     */
    public function getPersonaJuridica($idPersona) {
        $this->db->where('id_persona', $idPersona);
        $query = $this->db->get(self::STR_NOMBRE_TABLA);
        return $query->result();
    }

    /**
     * Obtener el ultimo registro de la tabla "persona_juridica".
     * @author Fernando Esteban Valerio
     * @return array
     */
    public function getId() {
        $arrPersona = $this->db->query('SELECT * FROM persona_juridica ORDER BY id_persona DESC LIMIT 1');
        return $arrPersona->row_array();
    }

    /**
     * Registrar la información de una persona juridica.
     * @author Fernando Esteban Valerio
     * @param array $data Arreglo que contiene la informacion de la persona.
     */
    public function insert($data) {
        $this->db->set('id_persona', $data['idPersona']);
        $this->db->set('ruc', $data['ruc']);
        $this->db->set('razon_social', $data['razon']);
        $this->db->insert(self::STR_NOMBRE_TABLA);
    }

    /**
     * Actualizar la información de una persona juridica.
     * @author Fernando Esteban Valerio
     * @param array $data Arreglo que contiene la informacion de la persona.
     */
    public function updatePersonaJuridica($data) {
        $this->db->set('ruc', $data['ruc']);
        $this->db->set('razon_social', $data['razon']);
        $this->db->where('id_persona', $data['id_persona']);
        $this->db->update(self::STR_NOMBRE_TABLA);
    }

    /**
     * Devolver el id insertado.
     * @author Fernando Esteban Valerio
     * @return int
     */
    public function getLastInserted() {
        return $this->db->insert_id();
    }

}
